package chapter9;

import java.util.ArrayList;
import java.util.List;

/**
 * 泛型的类型通配符，通配符使用?表示，代表当前集合使用的泛型类型不确定
 * 使用通配符的集合只可以遍历，无法添加元素，因为无法确定泛型的类型所以无法添加
 * 遍历出的每个元素都是Object类型
 */
public class WildCardTest {
    public static void main(String[] args) {
        WildCardTest wildCardTest = new WildCardTest();
        List<String> stringList = new ArrayList<>();
        stringList.add("aaa");
        stringList.add("bbb");
        stringList.add("ccc");
        wildCardTest.test(stringList);
        List<Integer> intList = new ArrayList<>();
        intList.add(1);
        intList.add(5);
        intList.add(23);
        wildCardTest.test(intList);
    }

    private void test(List<?> list) {
        //下边的添加操作将会报错
        //list.add(5);
        for(Object o : list) {
            System.out.println(o);
        }
    }
}
